//
//  NSDate+Format.m
//  Youhuiju
//
//  Created by yutenys on 16/7/13.
//  Copyright © 2016年 yutenys. All rights reserved.
//

#import "NSDate+Format.h"

@implementation NSDate (Format)

+ (NSString*)formatTimeStamp:(NSTimeInterval)timeStamp formatStr:(NSString*)formatStr{
    
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:formatStr];
    
    NSString *dateStr = [formatter  stringFromDate:[NSDate dateWithTimeIntervalSince1970:timeStamp]];
    
    return dateStr;
}

+ (NSString*)formatDate:(NSDate*)date formatStr:(NSString*)formatStr{
    
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:formatStr];
    
    NSString *dateStr = [formatter  stringFromDate:date];
    
    return dateStr;
}

+ (NSDate*)dateFromString:(NSString*)dateStr formatStr:(NSString*)formatStr{
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:formatStr];
    
    NSDate *date = [formatter  dateFromString:dateStr];
    
    return date;
}

+ (NSDate *)getNowDateFromatAnDate:(NSDate *)anyDate
{
    //设置源日期时区
    NSTimeZone* sourceTimeZone = [NSTimeZone timeZoneWithAbbreviation:@"UTC"];//或GMT
    //设置转换后的目标日期时区
    NSTimeZone* destinationTimeZone = [NSTimeZone localTimeZone];
    //得到源日期与世界标准时间的偏移量
    NSInteger sourceGMTOffset = [sourceTimeZone secondsFromGMTForDate:anyDate];
    //目标日期与本地时区的偏移量
    NSInteger destinationGMTOffset = [destinationTimeZone secondsFromGMTForDate:anyDate];
    //得到时间偏移量的差值
    NSTimeInterval interval = destinationGMTOffset - sourceGMTOffset;
    //转为现在时间
    NSDate* destinationDateNow = [[NSDate alloc] initWithTimeInterval:interval sinceDate:anyDate];
    
    return destinationDateNow;
}


@end
